package com.sykuku.common;



/**
 * 基于ThreadLocal封装工具类，用户保存和获取当前登录用户id
 */
//自定义的工具类 写set get  方法
public class BaseContext {
    private static final ThreadLocal<Long> threadLocal = new ThreadLocal<>();
    //一个类中可与多个ThreadLocal指定泛型的对象存入同一线程的map中
    /*
    *获取到当前线程对象放进自定义的map中(ThreadLocal里面的ThreadLocalmap内部类,)获取ThreadLocals容器中的定义的变量值
    * 判断ThreadLocals如果是空的话就创建一个map 不是空的话就 把当前线程set进去
    * 同一个线程中可以存入多个数据进map中
    * */

    //设置值的方法
    public static void setThreadLocalID(Long id){
        threadLocal.set(id);
    }
    //获取值的方法
    public static Long getThreadLocalID(){
        return threadLocal.get();
    }
    //移除数据
    public static void remove(){

        threadLocal.remove();
    }


}
